package com.edt.ichannel.api.dao;

import com.edt.ichannel.api.entiy.local.EntityForKafkaUniBssInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SynDataDao {


    /**
     * 计算红包数量
     * @author 孙梁
     * 2018/6/28 16:30
     */
    void computRedPacketCount();

    /**
     * 同步组织机构
     */
    void synMechanismsInfo();

    /**
     * 同步人员
     */
    void synHrStaff();


    /**
     * 获得开关 1 开 2 关 开的时候执行
     * @return int
     *              getFirstMoneyControle
     * @author 孙梁
     * 2018/8/23 8:57
     */
    int getFirstMoneyControle();

    /**
     * 更新开关
     * @param firstMoneyControl
     *             开关
     * @author 孙梁
     * 2018/8/23 9:16
     */
    void updateFirstMoneyControl(@Param("firstMoneyControl") int firstMoneyControl);

    /**将首充数据 移动到ordercredit表中 用来计算佣金
     * 该方法需要在计算佣金和发展奖之前执行
     * @author 孙梁
     * 2018/8/23 11:24
     */
    void moveFirstMoneyInfoToOrderCredit();

    /**
     * 讲读取文件的数据存入数据库
     * @param entityForKafkaUniBssInfos
     *             读取文件数据结合
     * @author 孙梁
     * 2018/9/14 14:29
     */
    void saveList(@Param("entityForKafkaUniBssInfos") List<EntityForKafkaUniBssInfo> entityForKafkaUniBssInfos);


    /**
     * 对比文件同步过来的数据和实时接口查询的数据 如果两边数据不一致则存错误表
     * @author 孙梁
     * 2018/9/14 15:42
     */
    void compareKafkaDataAndSaveError();
}
